Skip to main content

使用命令行界面

你可以开始了 CODESYS.exe 从命令行使用以下选项和参数。

句法:

<installation folder>CODESYS.exe --<Option>

注意

如果您已经使用过 CODESYS Installer 安装多个 CODESYS 您计算机上的实例,那么您需要使用 --additionalfolder 选项来指定要启动的实例。

提示

当路径或选项参数包含空格、破折号或斜杠时,它们必须写在直引号内。

选项:--附加文件夹

仅适用于使用 CODESYS Installer

如果您安装了多个实例 CODESYS 版本并希望从命令行启动其中一个实例,则适用以下内容:除了配置文件外,还需要指定该实例的绝对路径 AddionalFolder/<instance name>--additionalfolder 选项。

背景: CODESYS Installer 创建一个 AdditionalFolders 安装目录下的子文件夹 CODESYS 文件夹。在此文件夹中,每个文件夹都有一个单独的子文件夹 CODESYS 包含配置文件、插件和 PackageDB 的各个文件的实例。对于第一个安装的实例,子文件夹名为 Default。其他实例将获得安装期间指定的安装名称。

可以看到要指定的绝对路径 --additionalfolderCODESYS Installer 当您单击 改变 相关实例磁贴中的按钮。它被注册为 地点

句法:

--additionalfolder=<AdditionalFolders\<instance installation name>>
44. 例子

两个实例 CODESYS 3.5.18.20 已安装在您的计算机上 CODESYS Installer:一台供服务技术人员使用,一台供开发人员使用。你想运行 Service 实例通过 StartServiceScript.py 来自命令行的脚本。为此,请在命令行上的 --profile 选项后指定 --additionalfolder 选项,如下所示:

"C:\Program Files (x86)\CODESYS3.5.18.20\CODESYS\Common\CODESYS.exe" --profile="CODESYS V3.5 SP18 --additionalfolder="C:\Program Files\CODESYS 3.5.18.20\CODESYS\AdditionalFolders\Service"  --runscript="D:\Dokumente\Scripting\StartServiceScript.py"--scriptargs:'username password 3.14 "path=\"C:\temp\\\""'–noUI


选项:--culture(用户界面的语言)

CODESYS 以指定的语言启动。

句法:

--culture=<Culture>

<culture>:典型的语言代码如下:de、en、fr、it、es、zh-CHS。

45. 例子

开始 CODESYS 带有英文的用户界面:

CODESYS.exe --culture=en


选项:--profile (CODESYS 轮廓)

CODESYS 直接使用指定的配置文件启动。你几时开始 CODESYS 如果没有此选项,则 选择个人资料 打开。

句法:

--profile="<profile name>"

<profile name>:您必须准确指定配置文件名称,因为它显示在 帮助 → 关于 开发系统的启动画面或计算机的开始菜单中。

46. 例子
CODESYS.exe --culture=de --profile="CODESYS V3.6"


选项:--compare(开始项目比较)

CODESYS 开始,两个比较 CODESYS 项目立即开始。在选项之后,首先指定“当前项目”,然后指定“参考项目”作为参数。 CODESYS 启动并打开 项目比较 - 差异 看法。

句法:

--compare="<path of project file>" "<path of reference project file>"
47. 例子
CODESYS.exe --compare  "D:\proj\project1.project"  "D:\proj\project2.project"


选项:--project(打开 CODESYS 项目)

CODESYS 启动并打开指定的项目。

句法:

--project="<path of project file>"

<path of project file>: 项目的文件路径

48. 例子

打开 test 项目:

CODESYS.exe --culture=de --project="D:\projects\test.project"


选项:--projectarchive(打开 CODESYS 项目档案)

CODESYS 启动,解压指定项目存档,打开项目。

句法:

--projectarchive="<path of projectarchive file>"

<path of project archive file>: 项目存档的文件路径

49. 例子

提取 test.projectarchive 并在开发系统中打开项目:

CODESYS.exe --projectarchive="D:\projects\test.projectarchive"


选项:--runscript(运行脚本)

指定的脚本文件由 CODESYS.

8. --runscript 的命令行选项

--runscript="<script file>.py"

CODESYS 运行 <script file>.py 启动时的脚本文件。

您必须提供脚本文件的完整路径。

--scriptargs:'<arg1> <arg2> ... <argn>'

将此选项与 --runscript 选项。它们触发将 <arg1> ... <argn> 参数传递给脚本。参数被传递给 Python 变量 sys.argv.

--noUI

将此选项与 --runscript 选项。

CODESYS 用户界面未打开。 CODESYS 输出脚本生成的所有错误、警告、编译器报告和命令行消息。脚本消息(1:Severity Text)可以与其他消息(2:Severity FatalError、Error、Warning、Information)与 > 操作员。

--enablescripttracing

将此选项与 --runscript 选项。结果,脚本文件的每个命令都显示在输出中。

--textPrompts

将此选项与 --noUI 选项。结果,在命令行中输出消息服务方法和默认对话框以供用户输入。

如果您不指定 --textPrompts,然后使用默认值自动确认所有消息服务提示。

scriptdebugger {="<debugger>"}

将此选项与 --runscript 选项。它将 IronPython 设置为调试模式,以便可以使用外部调试器来调试 Python 脚本。为 <debugger> 定义了以下值(不区分大小写):

  • auto:自动检测当前进程的每个脚本中是否包含调试器。目前,只能自动检测基于 .NET 的调试器。检测到的调试器会覆盖 --enablescripttracing 旗帜。

  • .NET:激活基于 .NET 的调试器的调试,例如“Visual Studio 的 Python 工具”(PTVS) 和 SharpDevelop。使用此选项,调试器也可以包含在运行脚本中,而不是“自动”。

    注意:这是当前时的默认值 --scriptdebugger 在不提供值的情况下使用。

  • disabled:禁用调试和自动检测。

  • script:将 IronPython 脚本引擎切换到调试模式以激活 set-trace 调试器的调试。脚本本身必须与调试器连接和断开连接。

  • tracing:激活简单的集成“脚本跟踪”模式并停用自动检测(与选项相同) --scripttracing)。

  • $absolute_path.py$:启动与基于 Python 的调试器的连接的 Python 脚本的绝对路径。 IronPython 脚本引擎切换到调试模式,以允许对 set-trace 调试器进行调试。此脚本在初始化期间运行一次,应定义以下非参数化函数:

    scriptdebuggersetup 在运行用户脚本以建立与调试器的连接之前立即运行。

    scriptdebuggershutdown 在运行用户脚本或下载脚本引擎后立即调用,并应关闭与调试器的连接。



50. 在带有“sys.argv”的脚本文件中使用传输参数的示例
start /b /wait CODESYS.exe
--runscript="D:\Script\ArgvAnd__main__Test.py"
--scriptargs:'username password 3.14 "path=\"C:\temp\\"'

脚本文件: ArgvAnd__main__Test.py

from __future__ import print_function
import sys
print("sys.argv: ", len(sys.argv), " elements:")

for arg in sys.argv:
    print(" - ", arg)
print()
print("__name__: ", __name__)

输出结果: stdout

sys.argv: 6 elements:
- D:\TestScripts\ArgvAnd__main__Test.py
- username
- password
- 3.14
- path= "C:temp"
__name__: __main__

有关更多信息 __name__ 全局变量,请参阅 Python 文档。



51. 消息输出示例
start /b /wait CODESYS.exe --runscript="D:\Script\AmpelTest.py" --noUI 1>ScriptMessages.txt

CODESYS 将脚本生成的所有消息传递给 ScriptMessages.txt 文件。其他消息打印到命令行。

start /b /wait CODESYS.exe --runscript="D:\Script\AmpelTest.py" --noUI 2>NUL

CODESYS 禁止所有消息,脚本消息除外。脚本消息被打印到命令行。



52. 使用 –scriptdebugger 选项的示例

下列 initdebug.py 脚本已成功测试 pydevd- 基于调试器,例如 PyDev / LiClipse 和 PyCharm。要使用此脚本,请启动 CODESYS 使用以下命令行:

--profile="Fanta Development Build" --scriptdebugger="D:\test\charmdebug\initdebug.py"

文件: initdebug.py

from _future_ import print_function
from _future_ import unicode_literals
import sys
sys.path.append(r"D:\test\Env2\Lib\site-packages\pycharm-debug.egg")
import pydevd
def scriptdebuggersetup():
pydevd.settrace('localhost', port=51234, stdoutToServer=True, stderrToServer=True)
def scriptdebuggershutdown():
pydevd.stoptrace()


有关详细信息,请参阅: 使用脚本http://docs.python.org/tutorial/modules.html

选项:--ignorewhitespace(在项目比较中忽略空格)

如果在选项后面加上这个选项 --compare <project1> <project2>, 然后在项目比较中忽略空格。请注意,语义相关的空间,例如 STRING 文字,仍然被考虑在内。

句法

--compare="<path of project file>" "<path of reference project file>" --ignorewhitespace="true"|"false"
53. 例子
CODESYS.exe --compare "D:\proj\project1.project" "D:\proj\project2.project" --ignorewhitespace="true"


选项:--ignorecomments(在项目比较中忽略注释)

如果在选项后面加上这个选项 --compare <project1> <project2>, 然后在项目比较中忽略注释。

句法:

--compare="<path of project file>" "<path of reference project file>" --ignorecomments="true"|"false"
54. 例子
CODESYS.exe --compare "D:\proj\project1.project" "D:\proj\project2.project" --ignorecomments="true"


选项:--ignoreproperties(在项目比较中忽略对象属性)

如果在选项后面加上这个选项 --compare <project1> <project2>, 然后在项目比较中忽略对象属性(权限、编译设置、目录、位图等)。

句法:

--compare="<path of project file>" "<path of reference project file>" --ignoreproperties="true"|"false"
55. 例子
CODESYS.exe --compare "D:\proj\project1.project" "D:\proj\project2.project" --ignoreproperties="true"


选项:--skipunlicensedplugins(不要加载没有许可证的组件)

CODESYS 已启动。在这种情况下,将跳过关于是否仍应加载未经许可的组件的查询。如果是这样,那么 CODESYS不是 静默加载这些组件。

56. 例子
CODESYS.exe –skipunlicensedplugins


选项:--signaturethumbprint(用于签署已编译库的证书的指纹)

如果在选项后面加上这个选项 --project="<path of project file>",然后打开项目并传递用于签署编译库的证书的指纹。

句法:

--signaturethumbprint="<thumbprint of digital signature>"
57. 例子
CODESYS.exe --project="D:\projects\test.project" signaturethumbprint="3E96C9B61010CBDC3186021A1CAA64946DDCAAF3"


选项:--enforcesignedcompiledlibraries(强制编译库的签名)

如果在选项后面加上这个选项 --project="<path of project file>",那么 强制对已编译的库进行签名 选项在项目中启用 安全屏幕用户 标签。

重要

当。。。的时候 安全屏幕 再次打开和关闭时,当前设置将应用到用户选项中,即使没有进行任何活动更改。

句法:

--enforcesignedcompiledlibraries
58. 例子
CODESYS.exe --project="D:\projects\test.library" --enforcesignedcompiledlibraries


选项:--timestampingserverurl(设置时间戳服务器地址)

如果在选项后面加上这个选项 --project="<path of project file>", 然后是 RFC-3161 时间戳服务器的 Internet 地址 (时间戳服务器) 在项目中设置 安全屏幕用户 标签。

重要

当。。。的时候 安全屏幕 再次打开和关闭时,当前设置将应用到用户选项中,即使没有进行任何活动更改。

句法:

--timestampingserverurl="<URL of RFC-3161 timestamping server>"
59. 例子
CODESYS.exe --timestampingserverurl="http://timestamp.comodoca.com/rfc3161"


选项:--enableEventLog

CODESYS 已启动,所有命令执行都记录在 Windows 事件日志中。记录位于 Windows 事件查看器 在下面 应用程序和服务日志 → AP.

第一次使用此选项时, CODESYS 必须以管理员权限启动。

句法:

--enableEventLog="CommandManager"

选项:--ForceDisconnectAfterInactivity

为了这 CODESYS session 中,不活动的时间将被设置为指定的时间(以秒为单位),超过该时间后将自动终止与控制器的连接。该选项中指定的值将覆盖在 CODESYS 中的选项 在线的 此类别 CODESYS 会议。

如果该值设置为 0,则在特定时间段不活动后,与控制器的连接不会自动终止。为了这 CODESYS 会话中,这会禁用断开连接选项 CODESYS 选项。

句法:

--ForceDisconnectAfterInactivity="<value in seconds>"
<value in seconds> : [10, 10800] | 0
60. 例子

300 秒不活动后,与控制器的连接将自动终止。

--ForceDisconnectAfterInactivity="300"